const https = require("../../../utils/https");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {},
    pageNum: 1, // 当前页码
    pageSize: 10, // 每页条数
    total: 0, // 总条数
    loading: false, // 加载状态
    hasMore: true, // 是否有更多数据
    card: [],
    activeTab: 'a', // 当前激活的标签页
    userId: null, // 用户ID，实际项目中从登录信息获取
    filteredList:[]
  },

  // 下拉刷新
  onPullDownRefresh() {
    // 重置分页参数
    this.setData({
      pageNum: 1,
      detailList: [],
      hasMore: true
    });

    // 重新加载数据
    this.getSelfOrder(this.data.userInfo.userId)
   
  },

  // 上拉加载更多
  onReachBottom() {
    // 如果还有更多数据且不在加载中，则加载下一页
    if (this.data.hasMore && !this.data.loading) {
      this.setData({
        pageNum: this.data.pageNum + 1
      });
      this.getBalanceDetails();
    } else {
      wx.hideLoading(); // 先关闭 loading
      wx.showToast({
        title: '数据加载完毕',
        icon: 'none',
        duration: 1000
      });
    }
  },

  toGoods(e) {
    console.log(e);
  },
  // 前往对应的自提订单
  toMyselfOrder(e) {
    console.log(e);
    var status = e.currentTarget.dataset.status
    var id = e.currentTarget.dataset.id
    if (status === 1) {
      // 跳转到待取货
      wx.navigateTo({
        url: '/my/pages/mzhMyselfGetNo/mzhMyselfGetNo?id=' + id,
      })
    } else {
      // 跳转到已取货
      wx.navigateTo({
        url: '/my/pages/mzhMyselfGetYes/mzhMyselfGetYes?id=' + id,
      })
    }

  },

  // 切换了自提状态
  onTabChange(e) {
    const tabName = e.detail; // 获取当前标签页的name（a/b/c）
    this.setData({
      activeTab: tabName
    });
    // 根据标签页筛选数据
    this.filterOrdersByTab(tabName);
  },
  filterOrdersByTab(tabName) {
    const { card } = this.data;
    console.log(card);
    let filtered = [];
    console.log(tabName);
    switch (tabName.name) {
      case 'a': // 全部订单
        filtered = card;
        break;
      case 'b': // 未取订单（status=1）
        filtered = card.filter(item => item.status === 1);
        break;
      case 'c': // 已取订单（status!=1）
        filtered = card.filter(item => item.status !== 1);
        break;
    }
    this.setData({
      filteredList: filtered
    });
    console.log(this.data.filteredList);
  },

  onLoad(options) {
    // 从登录信息或选项中获取用户ID
    var userInfo = wx.getStorageSync('userInfo') || {}
    this.setData({
      userInfo: userInfo
    })
    if (userInfo.userId == undefined || userInfo.userId == null) {
      wx.showToast({
        title: '登陆过期',
        icon: 'none',
        duration: 1000
      })
      setTimeout(() => {
        wx.redirectTo({
          url: '/index/pages/mzhLogin/mzhLogin',
        })
      }, 1500)
    }


    // 首次加载数据
    this.getSelfOrder(userInfo.userId);

  },
  getSelfOrder(userId) {
    const {
      pageNum,
      pageSize
    } = this.data;
    this.setData({
      loading: true
    });

    // 构造请求参数，包含分页信息
    const data = {
      pageNum: pageNum,
      pageSize: pageSize
    };
    https.GET(`/order/orders/selfOrder/${userId}`, data, (res) => {
        // 请求成功的回调处理
        if (res.code === 200) {
          const newList = res.rows || [];
          const total = res.total || 0;

          // 合并数据列表
          const card = pageNum === 1 ?
            newList :
            [...this.data.card, ...newList];

          // 判断是否还有更多数据
          const hasMore = card.length < total;

          this.setData({
            card,
            total,
            hasMore,
            loading: false
          });
          

          var c = this.data.card
          for(var i=0;i<c.length;i++){
            var productImgs = c[i].mainImages.split(",")
            c[i].productImgs = productImgs
          }
          this.setData({
            card:c
          })
          console.log(this.data.card);
          wx.stopPullDownRefresh(); // 停止下拉刷新动画
        } else {
          wx.showToast({
            title: res.msg || '获取数据失败',
            icon: 'none'
          });
          this.setData({
            loading: false
          });
        }

        // 执行回调（如果有）
        if (typeof callback === 'function') {
          callback();
        }
      },
      (err) => {
        // 请求失败的回调处理
        console.error('获取自提订单明细失败', err);
        wx.showToast({
          title: '网络请求失败',
          icon: 'none'
        });
        this.setData({
          loading: false
        });

        // 执行回调（如果有）
        if (typeof callback === 'function') {
          callback();
        }

      });

     

  },

})
